package br.edu.granbery.indianostore.dao;

import br.edu.granbery.indianostore.dao.DaoFactory;
import br.edu.granbery.indianostore.model.Cliente;
import java.util.List;
import org.hibernate.Session;

/**
 *
 * @author Luiz
 */
public class ClienteDao {

    private Session session;

    ClienteDao(Session session) {
        this.session = session;
    }

    public List<Cliente> buscar() {
        return this.session.createCriteria(Cliente.class).list();
    }

    public Cliente buscar(int id) {
        return (Cliente) this.session.load(Cliente.class, id);
    }

    public boolean inserir(Cliente cliente) {
        try {
            this.session.save(cliente);
        } catch (Exception e) {
            return false;
        }
        return true;
    }

    public boolean atualizar(Cliente cliente) {
        try {
            this.session.merge(cliente);
        } catch (Exception e) {
            return false;
        }
        return true;
    }

    public boolean remover(Cliente cliente) {
        try {
            this.session.delete(cliente);
        } catch (Exception e) {
            return false;
        }
        return true;
    }

    public void destruir(Cliente cliente) {
        this.session.evict(cliente);
    }

    public void destruirList(List<Cliente> cliente) {
        this.session.evict(cliente);
    }
}
